home *** CD-ROM | disk | FTP | other *** search
- Change Version 2.19 (02.08.96)
-
- Dieses Programm dient zum Ändern oder Erkennen verschiedener Zeichenketten
- in Dateien. Sie können damit in einem Binär- oder Textfile bestimmte
- Zeichenfolgen suchen und diese durch andere ersetzen lassen. Haben Sie zum
- Beispiel ein Programm völlig konfiguriert und Sie ändern nachher die Pfade
- der Datei, weil Sie sich eine neue Festplatte gekauft haben, so müssen Sie
- nicht alles erneuern, sondern Sie lassen nur die Pfad-Zeichenkette suchen
- und ersetzen.
-
- Es wurde von Dirk Stöcker in MaxonC++ V3.00 programmiert und ist Public
- Domain. Ich gebe alle Rechte und damit alle Pflichten an dem Programm auf.
- Ich gebe keinerlei Garantie für das ordnungsgemäße Funktionieren des
- Programmes.
-
- Seit Version 2.0 besitzt Change eine graphische Benutzeroberfläche. Die
- Bedienelemente entsprechen den Parametern in der Shell. Zu dieser Ober-
- fläche gelangen sie durch einen Doppelklick auf das Icon oder durch einen
- parameterlosen Aufruf aus der Shell.
- Seit Version 2.3 ist das CLI-Template an den Commodore Standard angepaßt.
- Dadurch ergeben sich einige wenige Änderungen zu Vorversionen.
-
- Dieses Programm benötigt mindestens OS2.0 (V37).
-
- Die Geschichte des Programms steht im Source Code -> source/Change/Change.c
-
- Mit dieser Meldung begrüßt Sie das Programm beim Aufruf mit '?'.
- --> Change ?
-
- FROM/A,SSTRING/A,TO,RSTRING,FOUND/S,HEX/S,LENGTH/S,NOCHANGE/S,NOSIZE/S,
- OVERWRITE/S,PATH/S,POS=POSITION/K:
-
- Geben Sie nochmal '?' ein, so kommt eine genauere Erklärung.
-
- Mit "Version Change" erhalten Sie die Versionsnummer des Programmes.
-
- Parametererklärung:
- FROM ist das schon existierende File aus dem gelesen wird.
- > muß immer angegeben werden.
- SSTRING sind die zu suchenden Zeichen.
- > muß immer angegeben werden.
- TO ist das File in das geschrieben wird. Es muß noch nicht
- existieren. Wenn für das Zielfile das Quellfile oder ""
- angegeben wird, so wird in das Ausgangsfile gespeichert
- > muß außer bei NOCHANGE immer angegeben werden.
- RSTRING ist der Ersatz für den <source string>.
- > muß nicht angegeben werden (wenn nicht angegeben, dann
- leer
- FOUND gibt eine Meldung aus, wenn der SSTRING gefunden wurde
- (z.B. String gefunden bei 32C). Die Zahl ist der hexa-
- dezimale Code der Position.
- > muß nicht angegeben werden (bei NOCHANGE überflüssig).
- HEX ermöglicht die Eingabe der Zeichenketten in hexadezima-
- ler Schreibweise. (Manche Zeichen kann man nicht über
- Tastatur eingeben, z.B. Return, oder werden von der
- Shell nicht weitergeleitet, z.B. das ';'.
- > muß nicht angegeben werden.
- LENGTH ändert das Zeichen vor dem Wechsel um die veränderte
- Länge - bestimmte Programme legen dort die Längeninfor-
- mation ab (entspricht einem BCPL-String: BSTR).
- > muß nicht angegeben werden (bei NOCHANGE überflüssig
- und unnötig, wenn Länge des SSTRING gleich der Länge
- des RSTRING).
- NOCHANGE Hiermit wird das Ersetzen ausgeschaltet.
- Die Position wird wie bei FOUND automatisch ausgegeben.
- Die Parameter TO, LENGTH, FOUND, OVERWRITE, PATH und
- RSTRING sind überflüssig.
- > muß nicht angegeben werden.
- NOSIZE schaltet die Groß-/Kleinunterscheidung aus
- > muß nicht angegeben werden
- OVERWRITE überschreibt die Zeichen hinter dem SSTRING, wenn der
- RSTRING länger ist. Ist er kürzer, so wird mit 0 aufge-
- füllt.
- > muß nicht angegeben werden (unnötig, wenn Länge des
- SSTRING gleich der Länge des RSTRING).
- PATH Damit können ganze Pfade ersetzt werden. Wenn die zwei
- Strings sich in der Länge unterscheiden, so wird
- ähnlich wie bei OVERWRITE überschrieben oder mit 0 auf-
- gefüllt, aber erst, wenn das 0-Zeichen erkannt wird.
- Damit kann man z.B. Pfadangaben in Files ersetzen, die
- nach den Namen Nullen schreiben. Mit dieser Option bleibt
- der Pfad zusammen.
- > bei OVERWRITE und gleichen Längen ausgeschaltet
- POS Abkürzung für POSITION
- POSITION Hinter POSITION muß in hexadezimaler Schreibweise die
- Position des zu ersetzenden string angegeben werden.
- Nur an dieser Stelle wird ersetzt. (Bei Eingabe von 0
- werden alle strings ersetzt. Die Positionen können Sie
- vorneweg mit dem Parameter NOCHANGE erfahren.
- > muß nicht angegeben werden (bei NOCHANGE überflüssig)
-
- Bei FROM und TO ist der volle Pfad vom aktuellen Verzeichnis oder von
- einem Grundverzeichnis aus nötig.
-
- Wenn die Schlüsselworte nicht angegeben werden, ist der erste String FROM,
- der zweite SSTRING, der dritte TO und der vierte RSTRING.
-
- Change kann auch einen String verarbeiten, in dem ein Pattern einhalten ist.
- Setzt man bei hexadezimaler Eingabe ein ? ein, so wird an dieser Stelle
- jeder Buchstabe akzeptiert.
- Bei normaler Eingabe bedeutet \? den Pattern und \\ den \, kommt nach dem \
- eine zweistellige HEX-Zahl, so wird \.. in das ASCII-Zeichen der Zahl umge-
- wandelt
- (sehen Sie bei den Beispielen nach)
- Bei hexadezimaler Eingabe werden alle Zeichen ungleich (0..9 a..f A..F ?)
- den geforderten ignoriert. Sie können also zum Beispiel Striche einsetzen,
- um die Lesbarkeit zu erhöhen.
- 123a4b52349f009a entspricht also 123a_4b52_349f_009a oder
- 123a.4b52.349f.009a oder 1-2-3-a-4-b-5-2-3-4-9-f-0-0-9-a.
-
- Am Anfang gibt das Programm noch einmal den zu suchenden und den Ersatz-
- string aus:
- dargestellt werden Zeichen zwischen 20 und 126 und zwischen 161 und 255
- Invers dargestellte Zeichen stehen für andere Zeichen
- . bedeutet dabei ein nicht darstellbares Zeichen
- _ bedeutet einen Pattern
-
- Am Ende gibt das Programm einen Status aus:
- String wurde ... mal gefunden und ... mal gewechselt
-
- Beispiele:
- Sie suchen im File SYS:Texte/S den Namen Goethe:
- --> Change SYS:Texte/S Goethe NOCHANGE
-
- In hexadezimaler Eingabe sieht das so aus:
- --> Change SYS:Texte/S 476F6574_6865 NOCHANGE HEX
-
- Wollen Sie den Namen in Schiller ändern so müssen Sie noch ein Ziel
- (z.B. SYS:Texte/S2) angeben und NOCHANGE entfernen:
- --> Change SYS:Texte/S Goethe SYS:Texte/S2 Schiller
-
- Mit NOSIZE können Sie auch nach goethe oder GOETHE oder GoEtHe
- suchen lassen und FOUND zeigt Ihnen einen Fund an:
- --> Change SYS:Texte/S Goethe SYS:Texte/S2 Schiller NOSIZE FOUND
-
- Geben Sie vorher den CD-Befehl auf den Pfad ein, so verkürzt sich der
- Befehl:
- --> CD SYS:Texte
- Change S Goethe S2 Schiller NOSIZE FOUND
-
- Wollen Sie zum Bsp. goethe und GoEtHe und GOETHE durch die richtige
- Form Goethe ersetzen. Kein Problem:
- --> Change S goethe S2 Goethe NOSIZE
-
- Soll Goethe nur an einer Stelle ersetzt werden, so nutzen Sie POSITION:
- --> Change S goethe S2 Goethe POSITION D3 NOSIZE
-
- Alternativ dazu ist:
- --> Change S goethe S2 Goethe POS D3 NOSIZE
-
- Besitzen die Zeichenketten ein Leerzeichen so nutzen Sie "":
- --> Change S "Goethes Geburtshaus" S2 "Schillers Geburtshaus"
-
- Sie können den SSTRING auch aus dem Text löschen:
- --> Change S "Goethe" S2 "" oder
- --> Change S "Goethe" S2
-
- Falls sie alle ähnlichen Wörter ersetzen wollen, wie zum Beispiel
- Disc und Disk gegen Diskette, so nutzen Sie einen Pattern:
-
- --> Change S Dis\? S2 Diskette
-
- oder
-
- --> Change S 446973? S2 4469736B_65747465
-
- Wollen Sie nach einem \ suchen, so müssen Sie zwei eingeben (also immer
- doppelt so viele - bei 20 zu suchenden also 40)
-
- --> Change S \\ S2 / --> das wechselt \ zu /
-
- --> Change S \\\\ S2 // --> das wechselt \\ zu //
-
- --> Change S \\? S2 /? --> das wechselt \? zu /?
-
- aber VORSICHT !
-
- --> Change S \? S2 /? --> das wechselt jedes Zeichen zu /?
-
- Setzen Sie für SSTRING "" ein, so erscheint eine Fehlermeldung.
-
- Mögliche zukünftige Erweiterungen:
-
- Pattern * für beliebige Zeichen oder Standard Amiga Pattern, wie #, ~, ().
- Lokalisierung und damit auch deutsche Texte (Fehlermeldungen sind ja schon
- vom Betriebssystem lokalisiert!)
-
- Kommentare, Wünsche, Geld (ist zwar Public Domain, nehme es aber trotzdem),
- Grüße, Bugreports und ähnliches an
-
- snail-mail: Dirk Stöcker
- Geschwister-Scholl-Straße 10
- 01877 Bischofswerda
- GERMANY
- e-mail: stoecker@rcs.urz.tu-dresden.de
-
- Viel Glück mit dem neuen Programm!
-